#!/bin/bash

set -euo pipefail

# 检查参数
if [ $# -lt 1 ]; then
    echo "用法: $0 <版本号> [发布说明]"
    echo "例如: $0 1.2.0 '新增功能和修复'"
    exit 1
fi

VERSION="$1"
RELEASE_NOTE="${2:-"版本 $VERSION 发布"}"

echo "准备发布版本: v$VERSION"

# 更新 LATEST_VERSION 文件
echo "$VERSION" > LATEST_VERSION
echo "已更新 LATEST_VERSION 文件为: $VERSION"

# 创建临时目录
dist_dir="dist/${VERSION}"
mkdir -p "$dist_dir"

# 创建 releases 目录（如果不存在）
releases_dir="dist/releases"
mkdir -p "$releases_dir"

# 创建发布包
echo "创建发布包..."
dist_file="${dist_dir}/openconnect_tools_v${VERSION}.tgz"
tar -czf "$dist_file" \
    --exclude='.git' \
    --exclude='.idea' \
    --exclude='*.tgz' \
    --exclude='dist' \
    .

# 如果是主版本（如 1.0.0, 2.0.0），也创建一个 latest 包
if [[ $VERSION =~ ^[0-9]+\.[0-9]+\.0$ ]]; then
    cp "$dist_file" "$releases_dir/openconnect_tools_latest.tgz"
    echo "创建了 latest 版本包"
fi


## 提交更改
#git add LATEST_VERSION
#git commit -m "发布版本 v${VERSION}"

echo ""
echo "发布准备完成！"
echo "接下来请执行以下操作："
echo "1. 在 Gitee 上创建 v${VERSION} 标签：git tag v${VERSION}"
echo "2. 推送更改和标签：git push && git push origin v${VERSION}"
echo "3. 在 Gitee Release 页面上传 releases/openconnect_tools_v${VERSION}.tgz 并添加发布说明"
echo "4. git tag v${VERSION} && git push && git push origin v${VERSION}"
echo "发布说明建议：$RELEASE_NOTE"
